package io.renren.modules.job.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import java.io.Serializable;
import java.util.Date;

/**
 * 定时器
 * 
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2016年11月28日 下午12:54:44
 */
@Data
public class ScheduleJobEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 任务调度参数key
	 */
    public static final String JOB_PARAM_KEY = "JOB_PARAM_KEY";
	
	/**
	 * 任务ID
	 */
	@ApiModelProperty("任务ID")
	private Long jobId;

	/**
	 * Spring Bean名称
	 */
	@NotBlank(message="bean名称不能为空")
	@ApiModelProperty("Spring Bean名称")
	private String beanName;
	
	/**
	 * 方法名
	 */
	@NotBlank(message="方法名称不能为空")
	@ApiModelProperty("方法名")
	private String methodName;
	
	/**
	 * 参数
	 */
	@ApiModelProperty("参数")
	private String params;
	
	/**
	 * cron表达式
	 */
	@NotBlank(message="cron表达式不能为空")
	@ApiModelProperty("cron表达式")
	private String cronExpression;

	/**
	 * 任务状态  0：正常  1：暂停
	 */
	@ApiModelProperty("任务状态，0：正常；1：暂停")
	private Integer status;

	/**
	 * 备注
	 */
	@ApiModelProperty("备注")
	private String remark;

	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	private Date createTime;
}
